package com.zmn.oms.third.youshu;

import com.google.api.client.util.Maps;

import java.util.EnumSet;
import java.util.Map;

/**
 * 类描述：腾讯有数订单来源枚举
 *
 * @author ligang
 * @date 2022/03/21 16:53
 */
public enum OrderSourceEnum {
    /**
     * 商家小程序：wxapp；
     * 商家app：app；
     * 商家H5：mobileweb；
     * 商家pcweb：pcweb；
     * 线下人工pos：offstore_pos_manual；
     * 线下自助收银：offstore_pos_self_help；
     * 其他：other
     */
    WX("wxapp", "商家小程序"),
    APP("app", "商家app"),
    H5("mobileweb", "商家H5"),
    PC("pcweb", "商家pcweb"),
    POS("offstore_pos_manual", "线下人工pos"),
    SELF("offstore_pos_self_help", "线下自助收银"),
    OTHER("other", "其他"),
    ;

    private final String code;
    private final String name;

    OrderSourceEnum(String code, String name) {
        this.code = code;
        this.name = name;
    }

    /**
     * cache
     */
    private static final Map<String, OrderSourceEnum> ORDER_SOURCE_ENUM_MAP = Maps.newHashMap();

    static {
        for (OrderSourceEnum orderSourceEnum : EnumSet.allOf(OrderSourceEnum.class)) {
            ORDER_SOURCE_ENUM_MAP.put(orderSourceEnum.getCode(), orderSourceEnum);
        }
    }

    public static String getNameByCode(String code) {
        return ORDER_SOURCE_ENUM_MAP.get(code) == null ? "" : ORDER_SOURCE_ENUM_MAP.get(code).getName();
    }

    public String getCode() {
        return code;
    }

    public String getName() {
        return name;
    }
}